package com.bindatax.spi.log.console;

import com.bindatax.core.log.LogOutInterface;
import com.bindatax.core.log.impl.BaseLogOut;
import com.bindatax.core.util.StringUtils;

import java.util.Properties;

public class BinDataxLogerConsole extends BaseLogOut implements LogOutInterface {
    private final static String CR = System.lineSeparator();

    @Override
    public String getType() {
        return TYPE_CONSOLE;
    }

    @Override
    public void init(Properties logConfig) {
        super.init(logConfig);
    }

    private void out(String msg) {
        System.out.println("BinDataxConsole - " + msg + CR);
    }

    private void out(String msg, Throwable t) {
        System.out.println("BinDataxConsole - " + msg + CR + StringUtils.getExceptionInfo(t));
    }

    @Override
    public void info(String msg) {
        out(msg);
    }

    @Override
    public void info(String name, String msg) {
        out(msg);
    }

    @Override
    public void info(String msg, Throwable t) {
        out(msg,t);
    }

    @Override
    public void info(String name, String msg, Throwable t) {
        out(msg,t);
    }

    @Override
    public void warn(String msg) {
        out(msg);
    }

    @Override
    public void warn(String name, String msg) {
        out(msg);
    }

    @Override
    public void warn(String msg, Throwable t) {
        out(msg,t);
    }

    @Override
    public void warn(String name, String msg, Throwable t) {
        out(msg,t);
    }

    @Override
    public void debug(String msg) {
        out(msg);
    }

    @Override
    public void debug(String name, String msg) {
        out(msg);
    }

    @Override
    public void debug(String msg, Throwable t) {
        out(msg,t);
    }

    @Override
    public void debug(String name, String msg, Throwable t) {
        out(msg,t);
    }

    @Override
    public void error(String msg) {
        out(msg);
    }

    @Override
    public void error(String name, String msg) {
        out(msg);
    }

    @Override
    public void error(String msg, Throwable t) {
        out(msg,t);
    }

    @Override
    public void error(String name, String msg, Throwable t) {
        out(msg,t);
    }
}